#include<bits/stdc++.h>
using namespace std;
int M,N;
double eps = 1e-8;//精度要更高一层 
bool pd(double a){
	int t = M;
	double res = 1;
	while(t){
		res*=a;
		t--;
	}
	if (res>=N) //找到了，或者a^M太大=>降低a，那就r移动到mid 
		return true;
	else
		return false; 
}
int main()
{
	cin>>N>>M;
	double l = eps,r = N,mid = (l+r)/2;
	while(l+eps<r){
		mid = (l+r)/2;
		if (pd(mid))
			r = mid;
		else
			l = mid;
	} 
	printf("%.7f\n",l); //因为eps是1e-8所以输出mid，r，l都可以
	
	return 0;
}

